There's not much you can do wrong with this utility, except to try and run it
on a Mac that doesn't support the Hierarchical Filing System. (If I've got it
right from Inside Macintosh, it should stop you even trying). In general, menu
options are greyed out when you can't usefully select them.
File Menu:
Open - will open any TEXT file as input.
Close - closes the input file.
Save - the scratch file (which is named LPD-<a large integer> replaces the
input file. This option is only available if the decoding has proceded
faultlessly. Otherwise you will have to
Save As… - This calls up the standard dialog box. You will be offered the
LISTSERV file name as a default, if the control line has been found and
decoded. Move the Cat is invoked if the destination is on the same volume as
the input file; if it's on another volume, the file is copied. (If you attempt
to Save As… the input file without closing the latter, it'll warn you off).
Quit - does just that. However, if you've got a scratch file hanging about, it
will ask you if you really want to quit without saving it.
Edit menu:
There's nothing in this application that can be cut, copied, pasted or
cleared, so it's greyed out.
Decode menu:
LPunched only - decodes the encoded part of the input file and puts the
result in a scratch file ready to be Saved or Saved As… (or junked on Quit).
Retain all text - Does the same operation, but copies any text not in LPunch
format both before and after the encoded part. Useful (a) if you want to
retain the e-mail headers and (b) to see what's happened if you hit a problem.
Listing–>d/base - This is a special, and applies to MACFILE LISTING files
only. The LPunched file is decoded into a format suitable for direct input
into Excel or some similar spreadsheet or database, with the various columns
separated by tabs. Note:
a) That the / characters in the file descriptor are also converted to tabs.
b) There is an option in the sub-menu (which must be selected) to have the
date in either month-day-year or day-month-year format. Spreadsheets are fussy
about things like that.
c) Files not in the correct format are rejected.
Spaces at line ends - If you select this menu item, it is checked and
thereafter the trailing spaces at the ends of lines (particularly in Fixed
record format) will appear in your output file. Otherwise, trailing spaces
(which are alien to the Macintosh ethos) are suppressed. Does NOT apply if
Listing–>d/base is selected.
Other points:
Output files have a characteristic icon, but they are TEXT files nonetheless
and can be read by any application that will read text files, e.g. BinHex 4.0
or the StuffIt implementation thereof, Excel (if you want to read into a
spreadsheed), McSink/Vantage, any bog-standard wordprocessor…
If the unfamiliar icon bothers you, get ResEdit and change STR 128 to the
creator appropriate to the icon you want to label the file with. If you don't
know what this means, don't attempt it! And don't pass a copy modified in this
way on to anyone else.
Speed… I got the MACFILE LISTING file, which as recieved (i.e. including the
e-mail headers) consisted of 4301 lines of text (275133 characters) in Fixed
Length Record format. It took my "plain vanilla" implementation of the example
program 7 minutes and 7 seconds to decode it (using a Macintosh IIx). The
application you now have took 36 seconds to decode it with no spaces at the
end of lines, and 39 seconds with each line filled out to 132 columns. Maybe
it won't always be that much faster?
Tolerance… The utility is NOT tolerant of incorrect formatting of the control
line or the record headers, except that it will accept anything that LISTSERV
is likely to throw at it in the way of a file name. This is quite deliberate;
it could get awfully confused if it accepted a header that was in fact
corrupt. The Listing–>d/base option will work only if the key spaces between
columns throughout the source file are in EXACTLY the correct places.
Memory… The program will run in ≈37K under Multifinder, but a larger partition
is recommended to minimise file transfers - I recommend around twice the size
of the largest input file you're likely to encounter plus 40K. It comes to you
with a partition of 384K.
Acknowledgements. Quite a few people have helped me with advice or anecdotal
information about LPunch formatting while I was writing this program. Names
that come to mind are Mark Williamson, Chris Cranbourn, Robin Haigh, Brian
Morrisey and "JEREMYM" of Sussex University. My thanks to them all.
Version History:
Version 1.0 was released on November 21st, 1989, at 11.14 am. No bugs have
been reported to me (but maybe it hasn't been much used!)
Version 1.1 was released on March 14, 1990, at 3.22 pm. It contains the added
ability to decode MACFILE LISTING files into spreadsheet-compatible form.
Version 1.1.1 was released on May 2, 1991, at 1.16 pm. I had downloaded a
MACFILE LISTING with the auto-wrap set to 80 columns on my communications
program once too often, and got infuriated with repeatedly having to click
"Try again" for an overlong line because I couldn't get at "Cancel" in time.
So I added the ability to "Abandon" as an alternative. Nothing else (I hope!)
has changed.
Version 1.1.2 was released on June 4, 1992 at 11:04 am. Apart from tarting up the icon a little, no changes were made. It was, however, recompiled under the current version of Think Pascal (4.1).